home *** CD-ROM | disk | FTP | other *** search
- /**
- * Name: elisp
- * Description: Emacs LISP.
- */
-
- state elisp extends HighlightEntry
- {
- /* Comments. */
- /;/ {
- comment_face (true);
- language_print ($0);
- call (eat_one_line);
- comment_face (false);
- }
-
- /* String constants. */
- /\"/ {
- string_face (true);
- language_print ($0);
- call (c_string);
- string_face (false);
- }
-
- /* Definitions. */
- /(\([ \t]*)(defun)([ \t]+\(?)([!\$%&\*\/:<=>\?~_^a-zA-Z][!\$%&\*\/:<=>\?~_^a-zA-Z0-9.+\-]*)/ {
- /* Starting garbage. */
- language_print ($1);
-
- /* Keyword `defun'. */
- keyword_face (true);
- language_print ($2);
- keyword_face (false);
-
- /* Middle garbage. */
- language_print ($3);
-
- /* Function name. */
- function_name_face (true);
- language_print ($4);
- function_name_face (false);
- }
-
- /* ':'-names, Emacs highlights these, so do we. */
- /([ \t])(:[!\$%&\*\/:<=>\?~_^a-zA-Z0-9.+\-]*)/ {
- language_print ($1);
- reference_face (true);
- language_print ($2);
- reference_face (false);
- }
-
- /* Keywords taken out of fond-lock.el. Added: and, or, lambda.
- (build-re '(and or lambda cond if while let let* prog progn
- progv prog1 prog2 prog* inline catch throw save-restriction
- save-excursion save-window-excursion save-selected-window
- save-match-data unwind-protect condition-case track-mouse
- eval-after-load eval-and-compile eval-when-compile when
- unless do flet labels return return-from with-output-to-temp-buffer
- with-timeout))
- */
- /\b(and|c(atch|ond(|ition-case))|do\
- |eval-(a(fter-load|nd-compile)|when-compile)|flet|i(f|nline)\
- |l(a(bels|mbda)|et(|*))|or|prog(|*|1|2|n|v)|return(|-from)\
- |save-(excursion|match-data|restriction|selected-window|window-excursion)\
- |t(hrow|rack-mouse)|un(less|wind-protect)\
- |w(h(en|ile)|ith-(output-to-temp-buffer|timeout)))\b/ {
- keyword_face (true);
- language_print ($0);
- keyword_face (false);
- }
- }
-
-
- /*
- Local variables:
- mode: c
- End:
- */
-